<?php
/**
 * tinymvc超轻量级PHP开发框架
 *
 * @author    Lansn
 * @copyright Copyright (c) 2024-2025
 * @license   tinymvc 遵循Apache2开源协议发布，需保留开发者信息。
 * @link      http://173654757.xyz
 */

namespace system\core;

class Config
{
    protected static array $configs = [];

    /**
     * 获取配置值（支持点语法）
     * 示例：Config::get('database.mysql.host')
     */
    public static function get(string $key, $default = null)
    {
        $parts = explode('.', $key);
        $file = array_shift($parts);

        // 只加载一次配置文件
        if (!isset(self::$configs[$file])) {
            $configPath = ROOT_PATH . "config/{$file}.php";
            if (!file_exists($configPath)) {
                return $default;
            }
            self::$configs[$file] = include $configPath;
        }

        $value = self::$configs[$file];

        // 支持点语法访问
        foreach ($parts as $part) {
            if (is_array($value) && array_key_exists($part, $value)) {
                $value = $value[$part];
            } else {
                return $default;
            }
        }

        return $value;
    }
}
